Metrics Glossary


Cyclomatic:The measure of the complexity of a function's decision structure. The cyclomatic complexity is also the number of basis, or independent, paths through a module. Sometimesalso called the "McCabe Complexity" after it's originator.
For a precise definition see:
NIST Special Publication 500-235 Structured Testing:
A Testing Methodology Using the Cyclomatic Complexity Metric
http://hissa.ncsl.nist.gov/sw_assurance/strtest.html

Lines: total lines (in a function or file or project)

Lines Blank: total lines without any code/comment

Lines Code: total lines that have any code on them

Lines Comment: total lines that have comments on them

Cyclomatic modified: cyclomatic except each case statement is not counted;the entire case select construct counts as 1

Mains/Subprograms:the count of main program units and subprograms

Statements executable: total executable statements in Fortran code

Statements declarative: total declarative statements in Fortran code

Comment Code percent: (comment_lines/code_lines) * 100 (for program units,files, and project)

Average cyclomatic: average cyclomatic complexity over file

Average cyclomatic modified: average modified cyclomatic complexity over file

Complexity/Case 1: Avg. cyclomatic modified

Note, code+comment+blank != lines, as some lines might have both code and comment


automatic: AUTOMATIC statement
cexternal: CEXTERNAL statement
closestmtnoparens: syntax variation - CLOSE Statement without parens
datapool: DATAPOOL statement
declslashinit: syntax variation - "/" "/" initialization in declarations
exitdostmt: EXITDO statement
exitifstmt: EXITIF statement
exitforstmt: EXITFOR statement
exitloopstmt: EXITWHILE statement
forstmt : FOR statement
ifnotthen : syntax variation - IF statement without THEN
implicitundef : IMPLICIT UNDEF statement
loopstmt : LOOP Statement
namestmt : NAME Statement
pointerblock : POINTER statement
recorddot : syntax variation - record component referenced with dot (".")
recordstmt : RECORD statement
rotatop : .ROTAT. operator usage
shiftop : .SHIFT. operator usage
starlength : syntax variation - type definition using *n
staticstmt : STATIC statement
structure : STRUCTURE statement
typebyte : Type BYTE usage
untilstmt : DO-UNTIL statement
volatilestmt : VOLATILE statement
whilestmt : WHILE statement
xorop : .XOR. operator usage
xzhexconstant: syntax variation - X or Z hex constant eg. 2x0H